package com.kaibes.module.monitior;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.kaibes.module.monitior.pojo.AppDO;
import com.kaibes.module.monitior.pojo.CpuDO;
import com.kaibes.module.monitior.pojo.DiskDO;
import com.kaibes.module.monitior.pojo.JvmDO;
import com.kaibes.module.monitior.pojo.MemoryDO;
import com.kaibes.module.monitior.pojo.SystemDO;
import com.kaibes.web.api.ApiLink;

@RestController
@RequestMapping("/monititors")
public class MonititorApi {

    @Autowired
    private MonitorService monitorService;
    
    @ApiLink("获取服务器的程序信息")
    @GetMapping("/app")
    public AppDO getApp() {
        return monitorService.getAppDO();
    }
    
    @ApiLink("获取服务器的处理器信息")
    @GetMapping("/cpu")
    public CpuDO getCpu() {
        return monitorService.getCpuDO();
    }
    
    @ApiLink("获取服务器的硬盘信息")
    @GetMapping("/disk")
    public DiskDO getDisk() {
        return monitorService.getDiskDO();
    }
    
    @ApiLink("获取服务器的虚拟机信息")
    @GetMapping("/jvm")
    public JvmDO getJvm() {
        return monitorService.getJvmDO();
    }
    
    @ApiLink("获取服务器的内存信息")
    @GetMapping("/memory")
    public MemoryDO getMemory() {
        return monitorService.getMemoryDO();
    }
    
    @ApiLink("获取服务器的系统信息")
    @GetMapping("/system")
    public SystemDO getSystem() {
        return monitorService.getSystemDO();
    }
    
}
